package views; import java.awt.Dimension; import java.awt.event.ActionListener; import java.util.ArrayList; import models.*; import javax.swing.JButton; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; public class AdminAccountView extends Frame{ private Person p; private JButton remove = new JButton("Remove"); private JButton add = new JButton("Add"); private Object[][] data; private String[] columns = {"AccountID", "Type", "Balance", "Expire Date"}; private JTable table; public AdminAccountView(String title, Person p){ super(title); this.p = p; constructTable(); contentPanel.add(add); contentPanel.add(remove); } public void constructTable(){ ArrayList<Account> accounts = Bank.getInstance().getInfo().get(p); data = new Object[accounts.size()][4]; int index = 0; for(Account a: accounts){ data[index][0] = a.getId(); data[index][1] = a.getType(); data[index][2] = a.getMoney(); data[index][3] = a.getExpireDate(); index++; } DefaultTableModel tableModel = new DefaultTableModel(data, columns) { @Override public boolean isCellEditable(int row, int column) { return false; } }; table = new JTable(tableModel); table.setPreferredScrollableViewportSize(new Dimension(400, 200)); JScrollPane scrollPane = new JScrollPane(table); contentPanel.add(scrollPane); } public void setRemoveButtonActionListener(ActionListener a) { remove.addActionListener(a); } public void setAddButtonActionListener(ActionListener a) { add.addActionListener(a); } public JTable getTable() { return table; } public Person getP() { return p; } public JButton getAdd() { return add; } }